package edu.eam.paii.proyecto.dao;

import java.util.List;

import javax.persistence.EntityManager;

import edu.eam.paii.proyecto.entidades.Cliente;
import edu.eam.paii.proyecto.entidades.Cuenta;
import edu.eam.paii.proyecto.entidades.CuentaExterna;
import edu.eam.paii.proyecto.idao.CuentaIDao;

public class CuentaDAO implements CuentaIDao {

	private EntityManager em;

	public CuentaDAO(EntityManager em) {

		this.em = em;
	}

	@Override
	public void crear(Cuenta cuenta) {
		// TODO Auto-generated method stub
		em.persist(cuenta);
	}

	@Override
	public void update(Cuenta cuenta) {
		// TODO Auto-generated method stub
		em.merge(cuenta);
	}

	@Override
	public List<Cuenta> listar() {

		
		List<Cuenta> cuentas=em.createNativeQuery("Cuenta.listar").getResultList();
		
		
		return cuentas;

	}

	@Override
	public Cuenta buscar(int nro_Cuenta) {
		// TODO Auto-generated method stub
		return em.find(Cuenta.class, nro_Cuenta);
	}

	@Override
	public CuentaExterna buscarCuentaExterna(int nro_cuenta) {
		// TODO Auto-generated method stub
		return em.find(CuentaExterna.class, nro_cuenta); 
	}

	@Override
	public void asociarCuentaExterna(CuentaExterna cuentaExterna) {
		// TODO Auto-generated method stub
		em.persist(cuentaExterna);
	}

	@Override
	public List<CuentaExterna> listarExternas() {
		// TODO Auto-generated method stub
		
		List<CuentaExterna> cuentas=em.createNativeQuery("CuentaExterna.listar").getResultList();
		
		
		return cuentas;
	}

}
